package com.ebupt.migu.music.schedule;

import com.ebupt.migu.music.common.util.DateUtil;
import com.ebupt.migu.music.schedule.service.MutualArkService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.concurrent.TimeUnit;

/**
 * 与方舟系统交互相应定时任务
 */
@Slf4j
@Component
@EnableScheduling
public class MutualArkTask {

    @Autowired
    private MutualArkService mutualArkService;

    /**
     * 短信策略： 立即进行消息通知
     * 晚上一点的时候执行一次定时任务
     */
    @Scheduled(cron = "${cron.ark_group_import}")
    public void importUserGroupInfo() {
        log.info("导入或更新方舟客群定时任务开始{}", DateUtil.parseDateToStr(new Date(),DateUtil.DATE_TIME_FORMAT_YYYY_MM_DD_HH_MI_SS));
        try {
            //先删除上一次导入的客群信息
            mutualArkService.deleteUserGroup();
            //删除超过七天的方舟客群
            mutualArkService.deleteArkUserGroup();
            //开始导入客群
            mutualArkService.importUserGroupInfo();
            log.info("导入或更新方舟客群定时任务结束{}", DateUtil.parseDateToStr(new Date(),DateUtil.DATE_TIME_FORMAT_YYYY_MM_DD_HH_MI_SS));
        }catch (Exception e){
            log.error("{}导入或更新方舟客群定时任务异常",DateUtil.parseDateToStr(new Date(),DateUtil.DATE_TIME_FORMAT_YYYY_MM_DD_HH_MI_SS),e);
        }
    }
}
